The display screen for window based computer programs can be divided into several windows. Each window either contains different kinds of information, such as text, graphics, and video, or provides another view of the same information. Usually, a window based operating system is in place to control how the windows look and act. The window based operating system provides ways for a user to manage the windows, like moving, hiding, resizing, iconizing, or closing windows. A window based operating system also decides which window at the moment accepts input from a user and which window is on the top of all other windows.
Currently, there are two major ways window based operating systems display windows: Overlapping window displays and tiled window displays. FIG. 1A illustrates an example of an overlapping window display 100. An overlapping window display 100 allows a window to be partially or totally located on top of (overlap) another window. For example, in FIG. 1A, window II 102 partially covers window I 104 on the display screen 106 that is hosted by the computer 108. An overlapping window display 100 allows a user to manage a window's location and size in any way the user wants. Therefore, the user controls the use of the screen space and the visibility of window contents. However, it requires a user to exert considerable effort in managing the windows. For example, when a user changes a window to a smaller size, some content in the window will be hidden. If a user is interested in a particular hidden content, the user may need to use the scroll bar on the sides of the window to search for the content of interest every time the user resizes a window.
FIG. 1B illustrates one example of a tiled window display 150. A tiled window display 150 determines the size and the location of all windows such that each window is always completely visible. No windows are allowed to overlap. For example, in FIG. 1B, window I 152, window II 154, window III 156, and window IV 158 are laid out in a two by two column/row matrix on the display screen 160 that is hosted by a computer 162. The contents of these four windows are fully visible and there is no overlapping among these four windows. The window based operating system that controls a tiled window display 150 may attempt to manage window locations, sizes, and side effects to maximize the use of the screen space while keeping window contents visible. When the location and/or size of a window changes, other windows are relocated and resized as needed, but never obscured. A tiled window display 150 is desirable when the window based operating system picks arrangements that meet the needs of a user. However, it restricts a user's ability to move windows and change window size when the arrangement chosen by the window based operating system does not support the task the user wants to perform.
Studies suggest that a window display created by an ideal window based operating system should require a user to exert only the least amount of effort necessary to manage the windows. Such a window display also should ensure that information is laid out in a manner that best supports the tasks at hand. For example, information that is relevant should be displayed close together. Current window based operating systems such as those that create overlapped window displays and tiled window displays do not meet these requirements. They fail to address certain user needs, which are discussed below.
At times, a user may be interested in managing only the smaller portions or regions of a window. For example, a user may want to use only the graphical chart embedded in a financial document. Such smaller portions or regions of a window are herein called regions of interest. A user may want to use or interact with the content in a region of interest by itself, i.e., by copying this region of interest on the original window into another existing window. Further, the user may want to synchronize the content in the new window with that in the original window. However, with conventional window based operating systems such as those that control overlapped window displays and the tiled window displays, a user can be required to manually copy and paste a region of interest from the original window to a new window, also manually created by the user. In addition, with conventional window based operating systems, there is no provision for synchronizing content in the new window with content in the original window. In addition, a user may prefer to spatially reorganize information. For example, a user may want to use the least amount of screen space available to keep herself abreast of updating information by monitoring peripheral awareness tasks, such as time of day or stock tickers. Hence, there is a need for a system and a method that allow a user to conveniently manage and spatially arrange smaller regions of a window in order for the user to perform certain tasks more efficiently.
Further, there is a need for a system and a method that allow a user to view and operate on smaller portions of a window across multiple devices. This need arises for individual users working on multiple devices. Such a user may want to annex display space available to this user by sharing an arbitrary region of a window on one device with another device. This need can also arise for a group of users working together, each with personal devices. For example, multiple users with their personal devices may need to share a common visual space to discuss projects located on each of the personal devices. The personal devices can be the users' laptops, and the common visual space can be a visual projector. Each of the users may want to share different portions of a window on their personal devices at the common visual space. Currently, when sharing a common visual space, users have to view the contents of one user's personal device at a time. Alternatively, to view all of the material together, users could either print out relevant material or combine it on a single computer. This is not optimal handling of the situation, especially when the material is dynamic and cannot be determined beforehand, requires live editing, or is interspersed with private information that the author does not wish to share.
In summary, as the above discussion shows, there is a need for a system and a method that allow users to conveniently manage smaller regions of a window. There is also a need for a system and a method that allow users to share smaller regions of a window across multiple devices. The present invention is directed to addressing these needs.